# Django settings for server_side project.

import os
import os.path

app_root_path = os.getcwd()

DEBUG = True

TEMPLATE_DEBUG = DEBUG

ADMINS = (
     ('admin', 'fla.sam@gmail.com'),
 )

MANAGERS = ADMINS


# use sqlite for datebase
DATABASE_ENGINE = 'sqlite3'           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.
DATABASE_NAME = os.path.join(app_root_path, 'srv_data.db')             # Or path to database file if using sqlite3.
#DATABASE_NAME = 'I:\\MyWorkSpace\\Workspace\\TeamAdProject\\source\\server_side\\srv_data.db'
DATABASE_USER = ''             # Not used with sqlite3.
DATABASE_PASSWORD = ''         # Not used with sqlite3.
DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.

# use postgresql for database
#DATABASE_ENGINE = 'postgresql_psycopg2'
#DATABASE_NAME = 'adplan'
#DATABASE_USER = 'postgres'             # Not used with sqlite3.
#DATABASE_PASSWORD = 's13c24'         # Not used with sqlite3. 
#DATABASE_HOST = '127.0.0.1'             # Set to empty string for localhost. Not used with sqlite3.
#DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.

# Local time zone for this installation. Choices can be found here:
# http://www.postgresql.org/docs/8.1/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE
# although not all variations may be possible on all operating systems.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = '+8'

# Language code for this installation. All choices can be found here:
# http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes
# http://blogs.law.harvard.edu/tech/stories/storyReader$15
LANGUAGE_CODE = 'zh-cn'

DEFAULT_CHARSET = 'utf-8'

#AUTH_PROFILE_MODULE = 'apps.ad_usergroup.AdManagerProfile' 

SITE_ID = 1

# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True

# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = os.path.join(app_root_path, 'medias')

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = 'http://127.0.0.1/medias/'

# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/media/'

# Make this unique, and don't share it with anybody.
SECRET_KEY = 'n_p&3a)#@%rh#%@380zjilsow2ue4f=fh$u9=%=4*d=30syy=2'

# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
    'django.template.loaders.filesystem.load_template_source',
    'django.template.loaders.app_directories.load_template_source',
#     'django.template.loaders.eggs.load_template_source',
 )

MIDDLEWARE_CLASSES = (
    #'django.middleware.cache.CacheMiddleware',
    'django.middleware.gzip.GZipMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
    #'django.middleware.doc.XViewMiddleware', 
    'django.middleware.transaction.TransactionMiddleware',
    'middleware.threadlocals_middleware.ThreadLocals',
    'middleware.stats_middleware.StatsMiddleware',
 )

ROOT_URLCONF = 'urls'

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    os.path.join(app_root_path, 'templatetags'), \
    #'D:/eclipse/workspaces/TeamAdProjectSrv/source/server_side/templatetags', \
    os.path.join(app_root_path, 'templates'), \
    #'D:/eclipse/workspaces/TeamAdProjectSrv/source/server_side/templates',
 )

TEMPLATE_CONTEXT_PROCESSORS = (
                               'django.core.context_processors.auth', \
                               #'django.core.context_processors.debug', \
                                'django.core.context_processors.i18n', \
                                'django.core.context_processors.media', \
                                'django.core.context_processors.request' 
                                )
INSTALLED_APPS = ('django.contrib.auth', \
    'django.contrib.contenttypes', \
    'django.contrib.sessions', \
    'django.contrib.sites', \
    #'django.contrib.redirects',
    'django.contrib.flatpages', \
    'django.contrib.admin', \
    #'django.contrib.history',
    'apps.core', \
    #'server_side.apps.ad_usergroup',
    #'server_side.apps.ad_manager',
    'apps.ad_usergroup', \
    'apps.ad_manager', \
 )

# when user logined ,  redirect it to this URL
LOGIN_REDIRECT_URL = '/news/'

AUTH_PROFILE_MODULE = 'apps.ad_usergroup.AdUserProfile'

#CACHE_BACKEND = 'locmem:///'
#CACHE_BACKEND = 'file://%s' % os.path.abspath(os.path.join(app_root_path, 'cache'))
#CACHE_BACKEND = 'db://cache_sql'

#===============================================================================
# project configure settings
#===============================================================================
AD_VERSION = '0.1 ( Alpha )'
AD_SITENAME = 'Team Advertisement Project'

# add user name at here, to protect user, not allow edit ,and delete, only modifly in super admin page
# in this list, user can modify anything
AD_SUPER_ADMIN = ['admin', ]

